<template>
   <!-- 主体部分 -->
    <section class="main">
      <input id="toggle-all" class="toggle-all" type="checkbox" @click='selectAll($event)'/>
      <label for="toggle-all">Mark all as complete</label>
      <ul class="todo-list">
        <!-- 当任务已完成，可以给 li 加上 completed 类，会让元素加上删除线 -->
        <li :class="{completed:item.flag}" v-for='item in list' :key='item.id'>
          <div class="view">
            <input class="toggle" type="checkbox" :checked='item.flag' @click='item.flag=!item.flag' />
            <label  @click="changeShow(item.id)" v-if='!item.showInput' >{{item.value}}</label>
            <input  type="text"  v-else  @blur='changeValue(item.id)' v-model='todoName'  ref="input">
            <button class="destroy" @click="delList(item.id)"></button>
          </div>
        </li>
      </ul>
    </section>
</template>
 
<script>
export default {
  name: "bodyComponent",
  components: {},
  props: {
    list:{
      type:Array,
      required:true,
    }
  },
  data() {
    return {
      todoName:''
    };
  },
  computed: {},
  watch: {},
  created() {},
  methods: {
    selectAll(e){
      this.$emit('selectAll',e.target.checked);
    },
    delList(id){
      this.$emit('delList',id)
    },
    changeShow(id){
      this.$emit('changeShow',id)
    },
    changeValue(id){
      this.$emit('changeValue',this.todoName,id)
      this.$refs.input[0].focus()
    },
    
  }
};
</script>

<style scoped>
     
</style>